package com.run2code.design.behavioral.intermediary;

/**
 * 用户类
 * 关注公众号【奔跑的码畜】，一起进步不迷路
 *
 * @author 第七人格
 * @date 2024/05/24
 */
public class User {
    private final String name;
    /**
     * 让用户知道中介者的存在
     * 用户类只关注中介者，不知道其他用户的存在
     */
    private final Mediator mediator;

    public User(String name, Mediator mediator) {
        this.name = name;
        this.mediator = mediator;
    }

    public void sendMessage(String message) {
        System.out.println(name + " 发送消息: " + message);
        mediator.sendMessage(message, this);
    }

    public void receiveMessage(String message) {
        System.out.println(name + " 接收消息: " + message);
    }
}
